<?php
include_once('controller/C_Base.php');
include_once('model/M_Articles.php');
/** 
 *  @author VGireev 
 *	@REVISION:  $Id: C_Add.php 11 2011-12-18 12:52:37Z host.xserver@gmail.com $
 *  @brief Файл класса C_Add
 *  © myCompany 2011
 *
 *  контроллер добавления статей в БД
 *  
 */

class C_Add extends C_Base 
{
	private $save_send; //информация о том сохранена статья или нет
/* ===================================================================== */		
    // конструктор.
    function __construct() 
    {
		$this->save_send = "";
    	parent::__construct();
    	$this->needLogin = true; //страница закрыта для всех кроме администратора
    }
/* ===================================================================== */		
    // виртуальный обработчик запроса
    protected function OnInput() 
    {
		// C_Base.
		parent::OnInput();
		// менеджеры
		$mArticles = M_Articles::Instance();
		//если в post массив пришла статья и заголовок статьи
		//то присвоим их в переменные для временного хранения статьи
		//так же проверяем значение $save в ней результат записи статьи в Бд
		//от результата работы добавления статьи мы присваиваем переменной
		//save_send значение 'Статья добавлена' или 'Статья не добавлена'
		if ($this->IsPost()) {
			$title = $_POST['title'];
			$text = $_POST['text'];
			$save = $mArticles->Add($title, $text);
			$save ? $this->save_send = 'Статья добавлена' : $this->save_send = 'Статья не добавлена';
		}	

    }
/* ===================================================================== */		
    // виртуальный генератор HTML.
    protected function OnOutput() 
    {   	
		// менеджер пользователей
		$mUsers = M_Users::Instance();
		// Шаблон меню
		//выборка либо меню для юзера либо меню админа
		if ($mUsers->Can('USE_SECRET_FUNCTIONS')) {
			$vars_menu = array('items' => C_Base::GetMenuItems(true));
		}
		else {
			$vars_menu = array('items' => C_Base::GetMenuItems(false));
		};
		
    	$this->menu = $this->View('/view/tpl_menu.php', $vars_menu);
        // Основной шаблон страницы
    	$this->content .= $this->View('/view/tpl_add.php');
		$this->content .= $this->save_send;
		$this->title_page = 'Добавление статьи';
		// C_Base.
        parent::OnOutput();
    }
/* ===================================================================== */		
}